﻿//3.无重复字符的最长子串
//给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串的长度。
class Solution {
public:
    int lengthOfLongestSubstring(string s)
    {
        unordered_set<char> hash;
        int  n = s.size(), ans = 0;
        int  end = -1, begin = 0;
        for (int i = 0; i < n; i++)
        {
            if (i != 0)
            {
                hash.erase(s[i - 1]);
            }
            while (end + 1 < n && hash.find(s[end + 1]) == hash.end())
            {
                end++;
                hash.insert(s[end]);
            }
            ans = max(ans, end - i + 1);

        }
        return ans;

    }
};